package com.ibeeking.found.upms.service.mapper;


import com.ibeeking.found.upms.service.common.dos.TenantUserDO;
import com.ibeeking.found.upms.service.common.po.TenantUserPO;
import com.ibeeking.found.common.base.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Author ibeeking
 */
public interface TenantUserMapper extends BaseMapper<TenantUserDO> {

    /**
     * 通过手机号查询全部用户
     *
     * @param tenantIds
     * @param mobile
     * @return
     */
    List<TenantUserPO> selectAllByMobile(@Param("tenantIds") List<Integer> tenantIds, @Param("mobile") String mobile);

    /**
     * 同步更新用户所在租户个人信息
     *
     * @param tenantUserDO
     * @param tenantId
     * @return
     */
    int updateAll(@Param("tenantUserDO") TenantUserDO tenantUserDO, @Param("tenantId") Integer tenantId);

    List<Integer> queryTenants(@Param("tenantIds") List<Integer> tenantIds, @Param("userId") Long userId);

    List<TenantUserPO> queryTenantPos(@Param("tenantIds") List<Integer> tenantIds, @Param("userId") Long userId);

    List<TenantUserDO> queryUserById(@Param("tenantIds") List<Integer> tenantIds, @Param("userId") Long userId);

    List<TenantUserPO> selectAllById(@Param("tenantIds") List<Integer> tenantIds, @Param("userId") Long userId);

    List<TenantUserPO> selectAllByMobiles(@Param("tenantIds") List<Integer> tenantIds, @Param("mobiles") List<String> mobiles);

    List<TenantUserPO> selectAllUsersByTenantId(@Param("tenantId") Integer tenantId);

}
